package com.csun.cmny.provider.service;

import com.csun.cmny.base.dto.LoginAuthDto;
import com.csun.cmny.core.support.IService;
import com.csun.cmny.provider.model.domain.DmcServer;
import com.csun.cmny.provider.model.dto.server.ServerQueryDto;

import java.util.List;

/**
 * @Auther: chisj chisj@foxmal.com
 * @Date: 2019-09-02 14:13
 * @Description: the interface dmc server service
 */
public interface DmcServerService extends IService<DmcServer> {

    /**
     * query dmc server list with page
     *
     * @param serverQueryDto    the server query dto
     *
     * @return  the list
     */
    List<DmcServer> queryListWithPage(ServerQueryDto serverQueryDto);

    /**
     * add dmc server
     *
     * @param dmcServer     the dmc server
     * @param loginAuthDto  the login auth dto
     *
     * @return  the int.
     */
    Integer add(DmcServer dmcServer, LoginAuthDto loginAuthDto);

    /**
     * delete dmc server
     *
     * @param dmcServer     the dmc server
     * @param loginAuthDto  the login auth dto
     *
     * @return  the int.
     */
    Integer edit(DmcServer dmcServer, LoginAuthDto loginAuthDto);

    /**
     * query stun server info
     *
     * @return  the stun server info（ip1:port1,ip2:port2）
     */
    String queryStunServer();

    /**
     * query turn server info
     *
     * @return the turn server info
     */
    String queryTurnServer();

    /**
     * query sip server
     *
     * @return  the sip server info
     */
    String querySipServer();
}
